package com.tsp_tux.demo.Dao;

import com.tsp_tux.demo.Entity.Subject;
import com.tsp_tux.demo.Entity.Subject_2;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

public interface SubjectRepository extends JpaRepository<Subject, Integer> {

    /**
     * 根据sid查询专题，判断专题存在不存在，专题名字存在就不可以创建了
     * @param subName 专题名字
     * @return 专题实体
     */
    Subject findBySubName(String subName);

    /**
     * 新建专题方法
     * @param subject 专题实体
     * @return 专题实体
     */
    Subject save(Subject subject);


    /**
     *jpa好像不能这么干，于是我改用mybatis来进行实现了。
     */
    @Query(value = "select sid,subname,date,content,username from subject natural join user order by rand() limit 6", nativeQuery = true)
    List<Subject_2> random6subjects();

    List<Subject> findAllByUid(String uid);

    List<Subject> findByUid(String uid);

    void deleteBySid(int sid);

    Subject findBySid(int sid);
}
